﻿/// <reference path="../Extension.js" />
/// <reference path="../Default.js" />

$(document).ready(function () {
    $("#tVeiculos").jqGrid({
        datatype: 'json',
        url: '/Transportadores/Veiculos',
        mtype: 'GET',
        colNames: ['', 'Id', 'Placa', 'RNTC', 'UF', 'Cidade'],
        colModel: [
            { name: "actions", formatter: "actions", editable: false, sortable: false, resizable: false, fixed: true, align: 'center', width: 26, "formatoptions": { keys: false, editbutton: false, delbutton: true} },
            { name: 'ID_VEIC', index: 'ID_VEIC', width: 80, sortable: false, align: 'right', search: false, hidden: true },
            { name: 'PLACA_VEIC', index: 'PLACA_VEIC', width: 100, align: 'center', editable: true, editrules: { required: true }, editoptions: { dataInit: function (e) { $(e).setMask({ mask: 'aaa 9999', autoTab: false }).css('text-transform', 'uppercase'); } }, searchoptions: { sopt: ['cn', 'eq']} },
            { name: 'RNTC_VEIC', index: 'RNTC_VEIC', width: 100, align: 'center', editable: true, editrules: { required: true, custom: true, custom_func: function (value) { if (value.length != 8) return [false, 'inválido, o tamanho do número deve conter 8 posições']; else return [true, '']; } }, editoptions: { dataInit: function (e) { $(e).setMask({ mask: '99999999', autoTab: false }); } }, searchoptions: { sopt: ['cn', 'eq']} },
            { name: 'SIGLA_UF', index: 'SIGLA_UF', width: 75, editable: true, edittype: "select", align: 'center', editrules: { required: true }, editoptions: { required: true, value: "0: ;" + $('#UFs').val(), dataInit: function (e) {
                $(e).change(function () {
                    progressDialog(true);
                    var idCol = $('#tVeiculos').getGridParam("selrow") == null ? '0' : $('#tVeiculos').getGridParam("selrow");
                    idCol = '#' + idCol + '_NOME_CID';
                    var SIGLA_UF = $(e).val()
                    $.getJSON('/Enderecos/CidadeSearch', { SIGLA_UF: SIGLA_UF }, function (data) {
                        $(idCol + ' option').remove();
                        $.each(data, function (index, row) {
                            $("<option>").val(row.NOME_CID).text(row.NOME_CID).appendTo(idCol);
                        });
                        progressDialog(false); $(idCol).focus();
                    });
                });
            }
            }
            },
            { name: 'NOME_CID', index: 'NOME_CID', width: 380, align: 'left', editable: true, edittype: "select", editrules: { required: true }, editoptions: { value: '0:[selecione]', dataInit: function (e) { $(e).width(266); } }, searchoptions: { sopt: ['cn', 'eq']} }
                    ],
        gridComplete: function () { loadInputs(); },
        pager: '#pVeiculos',
        height: 'auto',
        width: 506,
        rowNum: 5,
        rowList: [5, 10, 15, 20],
        sortname: 'ID_VEIC',
        sortorder: "asc",
        autowidth: false,
        viewrecords: true,
        viewsortcols: true,
        gridview: true,
        multiselect: false,
        ondblClickRow: function (id) {
            var str = '';
            progressDialog(true);
            $.getJSON('/Enderecos/CidadeSearch', { SIGLA_UF: $('#tVeiculos').getRowData(id)['SIGLA_UF'] }, function (data) {
                $.each(data, function (index, row) {
                    str += row.NOME_CID + ':' + row.NOME_CID + ';';
                });
                $('#tVeiculos').setColProp('NOME_CID', { editoptions: { value: str.substring(0, str.length - 1), dataInit: function (e) { $(e).width(266); } } });
                editRow('tVeiculos', '/Transportadores/VeiculoUpdate', id, { COD_TRAN: $('#COD_TRAN').val() });
                progressDialog(false);
            });
        },
        editurl: '/Transportadores/VeiculoDelete',
        postData: {
            COD_TRAN: function () { return $('#COD_TRAN').val(); }
        }
    }).navGrid("#pVeiculos", {
        edit: false, add: false, del: false, search: false, refresh: true
    }).navButtonAdd("#pVeiculos", {
        caption: '',
        buttonicon: 'ui-icon-circle-plus',
        onClickButton: function () {
            $("#tVeiculos").addRowData(0, {
                ID_VEIC: '', PLACA_VEIC: '', RNTC_VEIC: '', SIGLA_UF: '', NOME_CID: ''
            }, 'first');
            addRow('tVeiculos', '/Transportadores/VeiculoUpdate', { COD_TRAN: $('#COD_TRAN').val() });
        },
        title: "adicionar veículo",
        position: "last"
    });
});